package com.hudson.plugin;

import javax.persistence.*;
import java.sql.Timestamp;

import static javax.persistence.GenerationType.IDENTITY;

/**
 * TbRecord entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "tb_record", catalog = "reportdb")
public class TbRecord implements java.io.Serializable {

    // Fields

    private Integer recordId;
    private Integer cases;
    private Integer passed;
    private Integer runtime;
    private Integer cdcov;
    private Integer cdtotal;
    private String srccov;
    private String fncov;
    private String detail;
    private String functionary;
    private Timestamp recdate;
    private Integer moduleId;

    // Constructors

    /**
     * default constructor
     */
    public TbRecord() {
    }

    /**
     * minimal constructor
     */
    public TbRecord(Integer cases, Integer passed, Integer runtime,
                    Integer cdcov, Integer cdtotal, String functionary,
                    Timestamp recdate, Integer moduleId) {
        this.cases = cases;
        this.passed = passed;
        this.runtime = runtime;
        this.cdcov = cdcov;
        this.cdtotal = cdtotal;
        this.functionary = functionary;
        this.recdate = recdate;
        this.moduleId = moduleId;
    }

    /**
     * full constructor
     */
    public TbRecord(Integer cases, Integer passed, Integer runtime,
                    Integer cdcov, Integer cdtotal, String srccov, String fncov,
                    String detail, String functionary, Timestamp recdate,
                    Integer moduleId) {
        this.cases = cases;
        this.passed = passed;
        this.runtime = runtime;
        this.cdcov = cdcov;
        this.cdtotal = cdtotal;
        this.srccov = srccov;
        this.fncov = fncov;
        this.detail = detail;
        this.functionary = functionary;
        this.recdate = recdate;
        this.moduleId = moduleId;
    }

    // Property accessors
    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "recordId", unique = true, nullable = false)
    public Integer getRecordId() {
        return this.recordId;
    }

    public void setRecordId(Integer recordId) {
        this.recordId = recordId;
    }

    @Column(name = "cases", nullable = false)
    public Integer getCases() {
        return this.cases;
    }

    public void setCases(Integer cases) {
        this.cases = cases;
    }

    @Column(name = "passed", nullable = false)
    public Integer getPassed() {
        return this.passed;
    }

    public void setPassed(Integer passed) {
        this.passed = passed;
    }

    @Column(name = "runtime", nullable = false)
    public Integer getRuntime() {
        return this.runtime;
    }

    public void setRuntime(Integer runtime) {
        this.runtime = runtime;
    }

    @Column(name = "cdcov", nullable = false)
    public Integer getCdcov() {
        return this.cdcov;
    }

    public void setCdcov(Integer cdcov) {
        this.cdcov = cdcov;
    }

    @Column(name = "cdtotal", nullable = false)
    public Integer getCdtotal() {
        return this.cdtotal;
    }

    public void setCdtotal(Integer cdtotal) {
        this.cdtotal = cdtotal;
    }

    @Column(name = "srccov", length = 256)
    public String getSrccov() {
        return this.srccov;
    }

    public void setSrccov(String srccov) {
        this.srccov = srccov;
    }

    @Column(name = "fncov", length = 256)
    public String getFncov() {
        return this.fncov;
    }

    public void setFncov(String fncov) {
        this.fncov = fncov;
    }

    @Column(name = "detail", length = 256)
    public String getDetail() {
        return this.detail;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }

    @Column(name = "functionary", nullable = false, length = 32)
    public String getFunctionary() {
        return this.functionary;
    }

    public void setFunctionary(String functionary) {
        this.functionary = functionary;
    }

    @Column(name = "recdate", nullable = false, length = 19)
    public Timestamp getRecdate() {
        return this.recdate;
    }

    public void setRecdate(Timestamp recdate) {
        this.recdate = recdate;
    }

    @Column(name = "moduleId", nullable = false)
    public Integer getModuleId() {
        return this.moduleId;
    }

    public void setModuleId(Integer moduleId) {
        this.moduleId = moduleId;
    }

}